package com.splic.product.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.splic.common.annotation.Excel;
import lombok.Data;
import com.splic.common.core.domain.BaseEntity;

/**
 * 转写事件对象 t_voice_transfer
 * 
 * @author singe
 * @date 2023-08-17
 */
@Data
public class VoiceTransfer extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 转写厂商系统id */
    private Long company;

    /** 转写厂商标识，APP使用 */
    private String companyName;

    /** 事件ID */
    @Excel(name = "事件ID")
    private String transferId;

    /** 应用ID */
    private Long productId;
    @Excel(name = "应用名称")
    private String productName;

    /** 用户ID */
    @Excel(name = "用户ID")
    private String userId;

    /** 设备ID */
    @Excel(name = "设备ID")
    private String deviceId;

    /** 语种 */
    @Excel(name = "语种")
    private String transferLanguages;

    /** 文件名称 */
    @Excel(name = "文件名称")
    private String transferName;

    /** 文件格式 */
    @Excel(name = "文件格式")
    private String transferFormat;

    /** 文件大小 */
    @Excel(name = "文件大小")
    private Integer transferSize;

    /** 文件路径 */
    @Excel(name = "文件路径")
    private String transferPath;

    /** 录音时长 */
    @Excel(name = "录音时长")
    private Integer transferDuration;

    /** 采样率 */
    @Excel(name = "采样率")
    private String transferSampling;

    /** Bit位 */
    @Excel(name = "Bit位")
    private String transferBit;

    /** 合作方ID(百度taskID，讯飞OrderID) */
    @Excel(name = "合作方ID(百度taskID，讯飞OrderID)")
    private String providerId;
    private Date startTime;

    /** 预计转写时长:讯飞有返回预计时长，百度的可根据讯飞的计算方法来计算一个，便于返回告知用户。 */
    @Excel(name = "预计转写时长:讯飞有返回预计时长，百度的可根据讯飞的计算方法来计算一个，便于返回告知用户。")
    private Integer estimatedTime;

    /** 0允许转写[返回允许时]；1不允许转写；2转写中[拿到合作方ID时；3转写失败；4获得完成回调；5转写完成 */
    @Excel(name = "0允许转写[返回允许时]；1不允许转写；2转写中[拿到合作方ID时；3转写失败；4获得完成回调；5转写完成")
    private Integer status;

    /** 转写API[暂时为百度或者讯飞] */
    @Excel(name = "转写API[暂时为百度或者讯飞]")
    private String transferApi;

    private String transferResApi;

    /** 结果 -1失败4已完成5成功并且已返回客户端6失败并且已返回客户端 */
    @Excel(name = "结果")
    private String resultCode;

    /** 获得结果的内容 */
    @Excel(name = "获得结果的内容")
    private String resultContent;

    /** 获得结果的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "获得结果的时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date resultTime;

    private String failReason;

    /** 实际时长 */
    @Excel(name = "实际时长")
    private Integer realDuration;
    private Integer originDuration;

    /** 删除标志（0代表存在 2代表删除） */
    private Integer delFlag;

    private String startCreateTime;
    private String endCreateTime;

    private String transferAppId;
    private String transferAppSecret;
    private String sign;
    private String timestamp;

    //    返回
    private Integer returnCode;
    private String returnMsg;
//    请求
    private Long goodsTypeId;
    private String name;
    private String path;
    private String language;
    private String voiceFormat;
    private Integer voiceSize;
    private Integer voiceDuration;
    private String voiceSampling;
    private String voiceBit;
    private String supportStt;
}
